import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: XMQ
 * Date: 2022-06-07
 * Time: 5:36
 */
//LeeCode
public class Test {
//    public static List<Integer> findDuplicates(int[] nums) {
//        int[] hash = new int[10001];
//        for(int i = 0; i < nums.length ; i++){
//            ++hash[ nums[i] ];
//        }
//        int ret = 0;
//        for(int i = 0; i < hash.length; i++){
//            if(hash[i] > 1){
//                ret++;
//            }
//        }
//        List<Integer> arr = new ArrayList<>();
//        int j = 0;
//        for(int i = 0; i < hash.length; i++){
//            if(hash[i] > 1){
//                arr.add(j, i);
//                j++;
//            }
//        }
//
//        return arr;
//    }
    public static List<Integer> findDuplicates(int[] nums) {
        List<Integer> ret = new ArrayList<>();
        int n = nums.length;
        for(int i = 0; i < n; i++){
            nums[(nums[i]-1) % n] += n;
        }
        for(int i = 0; i < n; i++){
            if(nums[i] > 2*n)
                ret.add(i+1);
        }
        return ret;
    }
    public static void main(String[] args) {
        int[] nums = {1,1,2,3,4,7,3};
        System.out.println(findDuplicates(nums));
    }
}
